The present invention relates to an apparatus and a method for downloading programs, data, etc. necessary for the operation of numerical control devices from an external memory into the numerical control devices.
Conventionally known are factory automation systems in which a machine is operated with a plurality of numerical control devices controlled by means of one host computer and factory automation systems in which a plurality of numerical control devices are arranged in one local area network (LAN) and connected to one another, and a plurality of machines can be drivingly controlled for each of the numerical control devices.
Machines that are drivingly controlled by means of numerical control devices include machine tools, such as NC lathes, NC milling machines, etc., and various machines, including motor-operated injection molding machines, industrial robots, etc. In a conventional numerical control device, a series of control software programs for drivingly controlling each machine used to be specialized for each machine and previously stored in a self-perfecting manner in a nonvolatile memory, e.g., a ROM (read-only semiconductor memory), hard disk, etc., in the numerical control device.
In some cases, a plurality of machines of the same type and numerical control devices therefor may be arranged in one local area network. Since machine control software is mounted in each numerical control device, however, updating the software requires software writing operation for each numerical control device despite the sameness in the type of the machines to be drivingly controlled, thus entailing troublesome operation.
With the recent improvement of the functions of numerical control devices, the file sizes of system software for the body of each numerical control device and control software for machines tend to enlarge. However, a user does not always use all functions that are included in the control software, and it is financially wasteful for the user to be forced to increase the storage capacity of the nonvolatile memory in order to mount such control software. In executing the control software, all the control software need not always be read to a volatile memory. As the file size of the control software enlarges, however, the necessary storage capacity of the volatile memory inevitably increases. In the case where only some of the functions of the control software are used, in particular, mounting the excessive-capacity volatile memory entails an economical burden.
If the file size of the control software is enlarged, moreover, another control software cannot be additionally stored in the nonvolatile memory despite the presence of some margin in the nonvolatile memory. If those nonvolatile memories which have extra storage regions remaining therein increase in number on the network, effective use of the nonvolatile memories in the whole system will be hindered.
Actually, a routine for common processing exists between control software programs for different purposes. As mentioned before, however, the conventional control software has a self-perfecting form. If a plurality of control software programs are mounted in the system, therefore, a plurality of routines exist duplicately in the local area network, resulting in a waste of the nonvolatile memories.
According to conventional numerical control devices for machines, moreover, each numerical control device is used corresponding to one or more machines. If any one of the numerical control devices goes wrong, therefore, there is no numerical control device to back it up, so that all the machines that are connected to the faulty numerical control device are disabled.
In the case where each numerical control device is used corresponding to a plurality of machines or their control axes, in particular, excessive load acts on a specific numerical control device, possibly causing a system error or lengthening the operating time. In this case, there is no problem if some of those machines or their control axes which are connected to this numerical control device can be controlled by means of another numerical control device that has a relatively large load to spare. It is difficult, however, to achieve this by a conventional technique, since each of the control software programs mounted in each numerical control device must be thoroughly improved every time overloading or other problem is recognized.
The object of the present invention is to provide a numerical control system, capable of easily updating control software and the like and effectively utilizing resources, such as nonvolatile memories, volatile memories, etc. in the whole system, and an input setting method for control software for numerical control devices in the numerical control system.
In order to achieve the above object, a numerical control system according to the present invention comprises a host computer, a plurality of numerical control devices connected to the host computer by means of an information transmission line, and an external storage device connected to the host computer by means of the information transmission line, each of the numerical control devices including a volatile memory and a nonvolatile memory stored with communication software for information transmission to and reception from the host computer, the host computer including a CPU and a nonvolatile memory stored with communication software, and the host computer having functions to read control software from the external storage device and transfer the control software to the volatile memory of the numerical control device corresponding thereto.
Preferably, the nonvolatile memory of the numerical control device is stored with part of the control program of the numerical control device, besides the communication software, the remaining part of the control program being stored in the external storage device.
Preferably, the external storage device stores the control software in the form of a plurality of modules divided individually for functional elements, and also stores module configuration data for providing information for combining the modules to construct the control software, the host computer is further provided with control software generating software for constructing control software proper to each numerical control device, and the host computer reads the modules from the external storage device in accordance with the control software generating software, constructs control software corresponding to each numerical control device in accordance with the modules, and transfers the control software to the volatile memory of each numerical control device.
Further, an input setting method for control software for numerical control devices according to the present invention comprises (a) connecting one or more numerical control devices and a host computer by means of an information transmission line and loading communication software programs individually into nonvolatile memories in the numerical control device(s) and the host computer, (b) connecting an external nonvolatile memory to the information transmission line, storing the external nonvolatile memory with control software for drivingly controlling a machine by means of the numerical control device(s), and storing a system configuration information storage file indicative of the correlation between the numerical control device(s) and the control software, (c) individually activating the communication software programs when the power supply is connected and transferring the control software corresponding to each numerical control device from the external nonvolatile memory to the host computer through the information transmission line in accordance with the system configuration information software, and storing the control software in the volatile memory of each numerical control device, and (d) causing the numerical control device(s) to analyze a read application program by means of the control software, thereby drivingly controlling each axis of the machine.
Preferably, the control software is composed of two or more software modules, the step (b) includes storing the control software in the form of the software modules in the external nonvolatile memory, and the system configuration information storage file contains information to the effect that the software modules are combined into one control software corresponding to a specific numerical control device.
Preferably, the control software is divided between a first portion required in common for the driving control of various machines without regard to the types of the machines and a second portion, the remainder, associated with the driving control and proper to each individual machine, the first portion of the control software being previously stored in the nonvolatile memory in each numerical control device, the step (b) includes storing the second portion of the control software in the external nonvolatile memory, and the step (c) reading the first portion of the control software from the external nonvolatile memory when the power supply is connected and transferring to and storing the first portion, along with the second portion of the control software stored in the nonvolatile memory of the numerical control device, in the volatile memory of the numerical control device.
Further preferably, the first and second portions of the control software are composed of one or more combinations of software modules each, the nonvolatile memory of the numerical control device and the external nonvolatile memory are stored with the software modules of the first and second portions of the control software, respectively, and the system configuration information storage file contains information to the effect that the software modules are combined into one control software corresponding to a specific numerical control device.
According to the present invention, the machine control software need not be written in the nonvolatile memory of the numerical control device, so that the storage capacity of the nonvolatile memory can be economized.
Since a series of control software programs is reconstructed by combining the divided software modules and loading them into the volatile memory, moreover, it is unnecessary for routines for the same processing to coexist duplicately in the nonvolatile memory in the system, so that the capacity of the nonvolatile memory in the whole system can be economized.
Further, as the software modules are stored collectively in the external nonvolatile memory, in updating the control software, it is necessary only that data be rewritten for the external nonvolatile memory alone, so that updating operation for the control software is simple.
Furthermore, load can be prevented from being concentrated on a specific numerical control device by transplanting the software modules of an overloaded numerical control device to another numerical control device, for example. In case of trouble in any specific numerical control device, moreover, the driving control of the machines can be continued by connecting a spare numerical control device in advance.